There are a FIR (Finite Impulse Response) filter and an IIR (Infinite Impulse Response) filter as a digital filter being used widely. FIG. 9 is an exemplary configuration of a digital filter circuit 100 using a FIR filter.
The digital filter circuit 100 performs filtering processing in a time domain to complex number signal x(n)=r(n)+js(n) (j is an imaginary unit and n is an integer). The digital filter circuit 100 includes three FIR filters 101, 102 and 103.
The FIR filter 101 is a FIR filter of a real number coefficient having the number of taps of 5, the FIR filter performing filtering processing by real number operation to real part signal r(n) of a real number that is the real part of inputted complex number signal x(n). Five filter coefficients a0-a4 of the FIR filter 101 are real numbers. The FIR filter 101 outputs a result of filtering processing as real part signal r′(n).
Similarly, the FIR filter 102 is a FIR filter of real number coefficient having the number of taps of 5, the FIR filter performing filtering processing by real number operation to imaginary part signal s(n) of a real number that is the imaginary part of an inputted complex number signal. Five filter coefficients b0-b4 of the FIR filter 102 are real numbers. The FIR filter 102 outputs a result of filtering processing as imaginary part signal s′(n).
The FIR filter 103 is a FIR filter of a complex number coefficient having the number of taps of 5, the FIR filter performing filtering processing by complex number operation to complex number signal x′(n)=r′(n)+js′(n) that includes real part signal r′(n) and imaginary part signal s′(n) to which filtering processing has been performed by the FIR filters 101 and 102. Five filter coefficients c0-c4 of the FIR filter 103 are complex numbers. The FIR filter 103 outputs a result of filtering processing as complex number signal x″(n).
In the block diagram of FIG. 9, a complex number signal is expressed by a line thicker than a line which indicates a signal of a real number in order to distinguish them. Hereinafter, lines which indicate a signal are expressed in a similar manner also in other block diagrams.
In filtering processing by a FIR filter, there is a case where both of filtering processing by real number operation using a filter coefficient of a real number and filtering processing by complex number operation using a filter coefficient of a complex number are performed as is the case with the digital filter circuit 100.
Generally, a minimum value of the number of taps of a FIR filter is determined by an impulse response length of a filter function desired to be realized. Therefore, when realizing a complicated filter function, the number of taps of more than several hundred taps may be needed. There is a problem that, in a LSI (Large Scale Integrated circuit) on which such a FIR filter with a large number of taps is mounted, the circuit scale and power consumption of the LSI becomes huge.
To cope with this problem, there is known a technology which performs filtering processing in a frequency domain (patent document 1, for example). In filtering processing in the frequency domain, signal data on the time domain is converted into a signal data on the frequency domain firstly by fast Fourier transform (FFT: Fast Fourier Transform). Then, after filtering calculation between the signal data and a filter coefficient has been carried out in the frequency domain, it is reconverted by high-speed inverse Fourier transform (IFFT: Inverse Fast Fourier Transform) into a signal data on the time domain.
In a case where the number of taps of a FIR filter is large, a circuit scale and electric power consumption required for realization of filtering processing can be reduced by performing filtering processing in the frequency domain. The reason is that convolution operation in the time domain by a FIR filter can be converted into simple multiplication in the frequency domain.
Meanwhile, when a signal in the time domain is a complex number signal, the complex number signal is converted by a complex FFT into complex number signal data of the frequency domain. In complex FFT conversion, the real part and the imaginary part of a complex number signal in the time domain are combined, and are converted into complex number signal data in the frequency domain. That is, both of the real part and the imaginary part of a complex number signal in the time domain are used for calculation of each of the real part and the imaginary part of complex number signal data in the frequency domain. For this reason, according to the technology of patent document 1, when filtering processing is performed independently to each of the real part and the imaginary part of a complex number signal of the time domain, it is necessary to convert them into signal data of the frequency domain by real number FFT independently from each other.
In FIG. 10, there is shown an exemplary configuration of a digital filter circuit 110 which performs filtering processing in the frequency domain. The digital filter circuit 110 corresponds to the digital filter circuit 100 shown in FIG. 9 that performs filtering processing in the time domain. The digital filter circuit 110 is a digital filter circuit which performs filtering processing in the frequency domain to complex number signal x(n) (=r(n)+js(n)). The digital filter circuit 110 includes three frequency domain filter circuits 111, 112 and 113.
The frequency domain filter 111 converts real part signal r(n) which is the real part of inputted complex number signal x(n) on the time domain to complex number signal data on the frequency domain by FFT. Then, after performing filtering calculation by complex number operation on the frequency domain to complex number signal data on the frequency domain, the frequency domain filter 111 reconverts it into real part signal data r′(n) on the time domain by IFFT. Although real part signal r(n) is a signal of a real number, signal data after conversion will be a complex number even when Fourier transformation is applied to a signal of a real number. In addition, a filter coefficient is also a complex number usually. Therefore, complex number operation is required to filtering calculation.
Similarly, the frequency domain filter 112 converts imaginary part signal s(n) of a real number that is the imaginary part of inputted complex number signal x(n) on the time domain into complex number signal data on the frequency domain by FFT. Then, after performing filtering calculation by complex number operation on the frequency domain to complex number signal data on the frequency domain, the frequency domain filter 112 reconverts it into imaginary part signal data s′(n) of a real number on the time domain by IFFT.
On the other hand, the frequency domain filter 113 converts complex number signal x′(n)=r′(n)+js′(n) which includes real part signal r′(n) and imaginary part signal s′(n) into complex number signal data on the frequency domain by FFT. Then, after performing filtering calculation by complex number operation on the frequency domain to complex number signal data on the frequency domain, the frequency domain filter 113 reconverts it into imaginary part signal data s″(n) of the real number on the time domain by an IFFT.
A digital filter which handles an input signal as a complex number signal is also disclosed in patent document 2.
Further, a technology which performs inverse Fourier transformation after performing predetermined calculation using a complex number signal generated by performing Fourier transformation to an input signal and its complex conjugate value is also disclosed in patent document 3.